ルーチンタスクのlatest stack
並べる数はできるだけ抑えたい。スキップにも対応したい。
この辺を上手く解決できるアルゴリズムはないか?sta.icon
ルーチンタスクXがあるとする
@3(3日に1回)
今日は2022/12/10とする
latest stackのサイズは3とする
code:10日時点
stack: 11, 14, 17
code:11日になった
stack: 11, 14, 17
↓ 今日のデイリーカウンターにXが表示される(表示したので、スタックから取り除く)
stack: 14, 17
↓ サイズは3なので、常に補完する
この場合、17に +3 して20
stack: 14, 17, 20
↓ ここで「今日はXはいいや。明日にしようっと」とスキップする
12日を追加することになる
stack: 14, 17, 20, 12
が、サイズは3なので、ソートして、上位3つのみ採用
stack: 12, 14, 17
この時点で、Xの直近の出現は「12日、14日、17日」
みたいなアルゴリズムを考えているが、いけそうか?